Conventionally, in the case that a user of a mobile terminal uses an application that has been stored in a delivery server, the mobile terminal uses a relay system to request delivery of applications or the like from the nearest delivery server to the device itself.
Such a relay system has a mobile terminal, delivery server, position managing server, and intermediate node that are mutually connected via the Internet or the like. The mobile terminal is a cellular phone, for example, and obtains the application from the delivery server and executes the application. The delivery server stores an application for example, and delivers the stored application to the mobile terminal according to a delivery request from the mobile terminal. The position managing server obtains position information of the terminal via a base station, for example. The intermediate node receives a delivery request message received from the mobile terminal, and transfers the delivery request message to the delivery server existing nearest to the mobile terminal.
The flow of the mobile terminal obtaining the application from the delivery server in such a system will be described. The intermediate node receives a delivery request message wherein a user ID which has been assigned individually to the mobile terminal is stored. Next, the intermediate node transmits the user ID stored in the received delivery request message to the position managing server and obtains the position information of the mobile terminal, and based on the obtained position information, transfers the delivery request message to the delivery server nearest to the mobile terminal.
The delivery server responds to the received delivery request message via the intermediate node, and delivers the application to the mobile terminal. Accordingly, by using such a relay system, the mobile terminal can request delivery of an application from the delivery server nearest the device itself, and can obtain the requested application.
Now, with an intermediate node which thus relays a delivery request message, in the case that multiple intermediate nodes simultaneously request the position information of the mobile terminal to be obtained from the position managing server, the load on the position managing server increases greatly. Consequently, time for application delivery to the user may increase, or the delivery request message may not be transferred to the correct delivery server.
With regard to the increase of load to the position managing server which can occur in this case, the load on the position managing server has been reduced by relay control nodes between the intermediate nodes and the position managing server. This will be described with reference to the specific example shown in FIG. 45.
FIG. 45 is a diagram showing an example of a relay system to reduce the load to the position managing server by providing relay control node. As shown in FIG. 45, the relay system has mobile terminals A through C, intermediate nodes, relay control nodes, and a position managing server. Of these, the mobile terminals A through C and the position managing server have functions similar to the above-described mobile terminal and position managing server. The relay control node has representative nodes and relay nodes, which are configured in tree form. The representative nodes can inquire about position information of the mobile terminal from the position managing server. The intermediate nodes, in the case of receiving a request for position information of the mobile terminal from the relay node, inquire about position information of the mobile terminal from the representative node.
For example, in the case of the intermediate node A inquiring about position information from the position managing server, position information is inquired in the order of relay node A, relay node B, and representative node A. Also, in the case of the intermediate node B inquiring about position information from the position managing server, position information is inquired in the order of relay node C and representative node A. Also, in the case of the intermediate node C inquiring about position information from the position managing server, position information is inquired in the order of relay node D and representative node B. That is to say, the relay system restricts the access to the position managing server to the representative node A and representative node B, thereby reducing load on the position managing server.
Also, the relay system causes the relay nodes to cache the position information, and in the case of receiving inquiries from a downstream node, respond if there is any applicable mobile terminal information, whereby the load on the position managing server can also be reduced. This will be described using the specific example shown in FIG. 46.
FIG. 46 is a diagram showing an example of reducing the load on the position managing server by causing relay nodes to cache position information. As shown in FIG. 46, the relay nodes have caches, whereby position information can be stored. For example, in the case of receiving an inquiry about position information of the mobile terminal from the relay node A, if there is any position information of the mobile terminal in the cache, the relay node A obtains the position information from the cache and notifies the intermediate node A of the position information. Also, if there is no position information of the mobile terminal, the relay node A inquires about position information of the mobile terminal from the relay node B.
However, according to the above-described conventional techniques, there is a problem in that accurate position information of the mobile terminal requesting delivery of the application cannot be obtained in a short amount of time. Specifically, in the case that the relay system has the representative nodes and the relay nodes configured in tree form, the number of routes increases as the number of nodes increases, thereby increasing the time to inquire about mobile terminal position information.
Similarly, in the case of causing the relay node to cache the terminal position information, if there is no terminal position information in either of the relay node caches, the relay system has to obtain the terminal position information from the position managing server. In this case, the waiting time until the terminal position information is obtained is no different from the case of not providing a cache.
Also, with such a relay system, there are cases wherein the mobile terminal moves from the time that the mobile terminal position information is obtained until the time that the delivery request message is transferred to the delivery server identified by the obtained mobile terminal position information. In this case, the delivery request message is transferred, not to the delivery server identified by the position information of the mobile terminal after having moved, but the delivery server identified by the position information of the mobile terminal before moving. That is to say, with the relay system, in the case that the delivery server identified based on the position information before moving and the delivery server identified based on position information after moving are different, the delivery request message cannot be transferred to the delivery server to which transfer should be made. Consequently, an irregular situation may occur, such as the application not being delivered to the mobile terminal.